package com.example.demo.huawei;

import java.util.Scanner;

public class OD34_GPT {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 输入GPU一次最多执行的任务个数
        int maxTasksPerSecond = scanner.nextInt();

        // 输入任务数组长度
        int taskArrayLength = scanner.nextInt();

        // 输入任务数组
        int[] tasks = new int[taskArrayLength];
        for (int i = 0; i < taskArrayLength; i++) {
            tasks[i] = scanner.nextInt();
        }

        // 计算最少需要多少秒执行完所有任务
        int minTime = calculateMinTime(maxTasksPerSecond, tasks);

        // 输出结果
        System.out.println(minTime);
    }

    private static int calculateMinTime(int maxTasksPerSecond, int[] tasks) {
        // 总共需要的秒数
        int totalSeconds = 0;
        // 剩余未完成的任务数
        int remainingTasks = 0;
        // 遍历每秒的新增任务
        for (int task : tasks) {
            // 加上新到的任务
            remainingTasks += task;

            // 计算当前秒执行任务数
            if (remainingTasks > maxTasksPerSecond) {
                remainingTasks -= maxTasksPerSecond;
            } else {
                remainingTasks = 0;
            }

            // 增加时间
            totalSeconds++;
        }

        // 如果还有剩余任务，计算还需要多少秒
        while (remainingTasks > 0) {
            totalSeconds++;
            if (remainingTasks > maxTasksPerSecond) {
                remainingTasks -= maxTasksPerSecond;
            } else {
                remainingTasks = 0;
            }
        }

        return totalSeconds;
    }
}
